(deftemplate culoarePantaloni (slot persoana) (slot culoare))
(deftemplate pozitie (slot persoana) (slot x))
(assert (culoarePantaloni(persoana Mutu)(culoare albastru)))
(assert (culoarePantaloni(persoana Mutu)(culoare verde)))
(assert (culoarePantaloni(persoana Mutu)(culoare oranj)))
(assert (culoarePantaloni(persoana Mutu)(culoare rosu)))

(assert (culoarePantaloni(persoana Chivu)(culoare albastru)))
(assert (culoarePantaloni(persoana Chivu)(culoare verde)))
(assert (culoarePantaloni(persoana Chivu)(culoare oranj)))
(assert (culoarePantaloni(persoana Chivu)(culoare rosu)))

(assert (culoarePantaloni(persoana Nicolita)(culoare albastru)))
(assert (culoarePantaloni(persoana Nicolita)(culoare verde)))
(assert (culoarePantaloni(persoana Nicolita)(culoare oranj)))
(assert (culoarePantaloni(persoana Nicolita)(culoare rosu)))

(assert (culoarePantaloni(persoana Radoi)(culoare albastru)))
(assert (culoarePantaloni(persoana Radoi)(culoare verde)))
(assert (culoarePantaloni(persoana Radoi)(culoare oranj)))
(assert (culoarePantaloni(persoana Radoi)(culoare rosu)))

(assert (pozitie(persoana Mutu)(x 1)))
(assert (pozitie(persoana Mutu)(x 2)))
(assert (pozitie(persoana Mutu)(x 3)))
(assert (pozitie(persoana Mutu)(x 4)))

(assert (pozitie(persoana Chivu)(x 1)))
(assert (pozitie(persoana Chivu)(x 2)))
(assert (pozitie(persoana Chivu)(x 3)))
(assert (pozitie(persoana Chivu)(x 4)))

(assert (pozitie(persoana Nicolita)(x 1)))
(assert (pozitie(persoana Nicolita)(x 2)))
(assert (pozitie(persoana Nicolita)(x 3)))
(assert (pozitie(persoana Nicolita)(x 4)))

(assert (pozitie(persoana Radoi)(x 1)))
(assert (pozitie(persoana Radoi)(x 2)))
(assert (pozitie(persoana Radoi)(x 3)))
(assert (pozitie(persoana Radoi)(x 4)))

(assert (culoarePantaloni(persoana Mario)(culoare violet)))
(facts)
;(defrule muv
;   ?idfapt<-(culoarePantaloni (persoana Mario)(culoare violet))
;  =>
; (retract ?idfapt)
; )
(defrule schimbareCuloare
    ?idfapt<-(culoarePantaloni (persoana Mario)(culoare violet))
    =>
    (modify ?idfapt(culoare gri))
    )

(run)
(facts)